<template>
	<view>
		<view v-show="memberName == 0">
			<text>{{memberName}}</text>
		</view>
		<view v-show="uniqueCode == 0">
			<text>{{uniqueCode}}</text>
		</view>

		<!-- 动态绑定下拉刷新 -->
		<mescroll-body ref="mescrollRef" bottom="100" @init="mescrollInit" @down="downCallback" :up="upOption"
			@up="upCallback">
			<feedback-list :list="feeds"></feedback-list>
		</mescroll-body>
	</view>
</template>

<script>
	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";

	export default {
		mixins: [MescrollMixin], // 使用mixin
		components: {
			MescrollMixin,
		},

		data() {
			return {

				feeds: [],
				curWord: '',
				SelPage: '',
				// 筛选为空
				upOption: {
					noMoreSize: 5, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少
					empty: { // 列表第一页无任何数据时,显示的空提示布局; 需配置warpId才生效;
						warpId: 'dataList', // 父布局的id;
						icon: '/static/image/zanwushuju@2x.png', // 图标,支持网络图
						tip: '暂无相关数据~', // 提示
					},
				},

				username: '',
				uniqueCode: '',

				feedsList: [{
					id: '', //建议序号
					memberId: '', //用户id
					memberName: '', //用户
					memberType: '', //用户序号
					memberTypeText: '',
					uniqueCode: '', //用户房间号
					type: '', //投诉建议字典
					typeText: '', //投诉建议
					content: '', //内容
					isValid: '',
					createdTime: '', //时间
				}]

			}
		},

		onLoad() {
			this.userName()
			setTimeout(function() {
				// console.log('start pulldown');
			}, 1000);
			uni.startPullDownRefresh();
			// this.getfeedsList()
		},

		onShow() {
			this.canReset && this.mescroll.resetUpScroll()
			// this.canReset && this.mescroll.scrollTo(0,0)
			this.canReset && this.userName()
			this.canReset = true
		},

		methods: {

			//官方下拉刷新
			onPullDownRefresh() {
				// console.log('refresh');
				setTimeout(function() {
					uni.stopPullDownRefresh();
				}, 1000);
			},
			// async getfeedsList() {
			// 	const res = await this
			// 		.$myRequest({ //await 关键字 只能放在 async 函数内部， await关键字的作用 就是获取 Promise中返回的内容， 获取的是Promise函数中resolve或者reject的值
			// 			url: '/api-operate/suggestion/suggestions',
			// 			method: "get",
			// 		})
			// 	this.feedsList = res.body.suggestions.data;
			// },

			//调用pages头部图标点击跳转
			onNavigationBarButtonTap() {
				uni.navigateTo({
					url: "/pages/feedbackSuggestions/feed"
				})
			},

			//用户名和用户房间
			userName() {
				this.memberName = uni.getStorageSync('name');
				this.uniqueCode = uni.getStorageSync('uniqueCode');
			},

			// 搜索
			doSearch(word) {
				this.curWord = word
				this.feeds = []; // 先清空列表,显示加载进度
				this.mescroll.resetUpScroll();
			},

			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
			upCallback(page) {
				// 自写
				let pageNum = page.num; // 页码, 默认从1开始
				let pageSize = page.size; // 页长, 默认每页10条
				// 第1种: 请求具体接口
				uni.request({
					url: 'http://pm.gxtimeloit.com:10030/api-operate/suggestion/suggestions?memberName=' + this
						.memberName +
						'&uniqueCode=' + this.uniqueCode +
						'&typeText=' + this.typeText +
						'&content=' + this.content,

					success: (data) => {
						// let test = data.data.body.suggestions.data.list
						// console.log("22222222222", data)
						if (data.data.body.suggestions.data == null) {
							this.mescroll.endBySize(0, 0);
						} else {
							//接口返回的当前页数据列表 (数组)
							let curPageData = data.data.body.suggestions.data;
							// 接口返回的当前页数据长度 (如列表有26个数据,当前页返回8个,则curPageLen=8)
							let curPageLen = curPageData.length;
							// 接口返回的总页数 (如列表有26个数据,每页10条,共3页; 则totalPage=3)
							let totalPage = data.data.body.suggestions.totalPage;
							// 接口返回的总数据量(如列表有26个数据,每页10条,共3页; 则totalSize=26)
							let totalSize = data.data.body.suggestions.totalSize;
							// 接口返回的是否有下一页 (true/false)
							let hasNext = false;
							// console.log(data.data.body.suggestions.data)
							// console.log(data)
							// 请求成功,隐藏加载状态
							this.mescroll.endSuccess()
							if (page.num == 1) this.feeds = []; //如果是第一页需手动制空列表
							// this.meters = this.meters.concat(data.data.body.suggestions.data); //追加新数据
							this.feeds = this.feeds.concat(curPageData);
							this.mescroll.endBySize(curPageLen, totalSize); //隐藏下拉刷新和上拉加载的状态
						}
					},

					fail: () => {
						// 请求失败,隐藏加载状态
						this.mescroll.endErr()
					}
				})
			},

		}
	}
</script>

<style lang="scss">
	page {
		background-color: #ebeff6;
	}
</style>
